
#pragma once

#include <gl\glew.h>
#include <iostream>
using namespace std;

#include "Vec2.h"
#include "GlobalTypes.h"


class cDBDraw
{
	static GLuint shader;
	static GLuint vbo;
	static GLuint pm_location;

	static GLfloat* buffer;
	static GLuint b_size;
	static GLuint b_used;
	static cGSCamera* camera;

public:
	static void init(GLuint buffer_size, cGSCamera* cam);
	static void draw();

	// draw line
	static void line(const float& x1, const float& y1, const float& x2, const float& y2);
	static void line(const MVec2& v1, const MVec2& v2);

	// draw rect
	static void rect(const float& center_x, const float& center_y, const float& half_w, const float& half_h);
	static void rect(const MVec2& center_v, const MVec2& half_size);

	// draw circle
	static void circle(const float& center_x, const float& center_y, const float& radius);
	static void circle(const MVec2& center_v, const float& radius);
};